Apparatus for controlling brushless motor

ABSTRACT

An angle detector  25  sets a q-axis command current to a first magnetic pole detecting current Iq_p1 and a second magnetic pole detecting current Iq_p2, and performs a magnetic pole detecting process to calculate a first magnetic pole reference value A 1  and a second magnetic pole reference value A 2  (t 2 -t 3 , t 4 -t 5 ), and detect the orientation of the magnetic poles of a rotor  2  of a motor  1  based on the sign of the difference ΔA (=A 1 −A 2 ) between the first magnetic pole reference value A 1  and the second magnetic pole reference value A 2 . The angle detector  25  effects a proportional process only on the difference between the q-axis command current and a detected q-axis current and the difference between a d-axis command current and a detected d-axis current to calculate a current difference (t 2 −t 5 ) under current feedback control when the magnetic pole detecting process is carried out, and effects a proportional plus integral process on the above differences to calculate a current difference (t 0 −t 2 , t 5 −) under current feedback control when the magnetic pole detecting process is not carried out.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an apparatus for controlling asalient-pole DC brushless motor by controlling armature currents of themotor based on a rotor angle thereof which is detected without using aposition detection sensor.

[0003] 2. Description of the Related Art

[0004] For energizing a DC brushless motor to produce a desired torque,it is necessary to apply voltages to the armatures in suitable phasescorresponding to the electric angle of the rotor (hereinafter referredto as “rotor angle”) which has magnetic poles. There have been proposedvarious processes of detecting a rotor angle without using a positiondetection sensor in order to reduce the cost of the DC brushless motorand a motor control apparatus therefor by way of dispensing with anyposition detection sensor for detecting the rotor angle.

[0005] The inventors of the present application have proposed a rotorangle detector for detecting a rotor angle of a DC brushless motorwithout using a position detection sensor in an earlier patentapplication (Japanese patent laid-open publication No. 2002-320398). Thedisclosed rotor angle detector operates as follows: When high-frequencyvoltages are added to drive voltages that are applied to three-phasearmatures of a salient-pole DC brushless motor, the rotor angle detectoruses a detected value of a current flowing through the first-phasearmature, a detected value of a current flowing through the second-phasearmature, and high-frequency components depending on the high-frequencyvoltages to calculate a sine reference value depending on the sine valueof a twofold angle which is twice the rotor angle of the DC brushlessmotor and a cosine reference value depending on the cosine value of thetwofold angle. Then, the rotor angle detector calculates the rotor angleof the DC brushless motor using the sine reference value and the cosinereference value which have been calculated.

[0006] When a rotor angle is detected using the sine reference value andthe cosine reference value, the detected rotor angle has a period of 180degrees. In order to detect a rotor angle in a range of 360 degrees, itis necessary to detect the orientation of the magnetic poles of therotor at the time the motor starts rotating.

[0007] If the time required to detect the orientation of the magneticpoles of the rotor is long, then the motor suffers a delayed start.

SUMMARY OF THE INVENTION

[0008] It is therefore an object of the present invention to provide anapparatus for controlling a DC brushless motor to reduce the timerequired to detect the orientation of the magnetic poles of the rotor ofthe DC brushless motor.

[0009] According to the present invention, there is provided anapparatus for controlling a salient-pole DC brushless motor havingarmatures in three phases, comprising voltage applying means forapplying drive voltages to the armatures, high-frequency adding meansfor adding high-frequency voltages to the drive voltages, first currentdetecting means for detecting a current flowing through an armature in afirst phase of the armatures in the three phases, second currentdetecting means for detecting a current flowing through an armature in asecond phase of the armatures in the three phases, and reference valueextracting means for extracting a sine reference value depending on thesine value of a twofold angle which is twice a rotor angle of the motorand a cosine reference value depending on the cosine value of thetwofold angle, using a first current value detected by the first currentdetecting means and a second current value detected by the secondcurrent detecting means when the high-frequency voltages are added tothe drive voltages by the high-frequency adding means, andhigh-frequency components depending on the high-frequency voltages.

[0010] The apparatus also has rotor angle calculating means forcalculating a rotor angle of the motor using the sine reference valueand the cosine reference value, three-phase/dq converting means forhandling the motor as an equivalent circuit having a q-axis armaturedisposed on an q-axis in the direction of magnetic fluxes from a rotorof the motor and a d-axis armature disposed on a d-axis which isperpendicular to the q-axis, and calculating a detected q-axis currentflowing through the q-axis armature and a detected d-axis currentflowing through the d-axis armature based on the rotor angle of themotor which is calculated by the rotor angle calculating means, thefirst current value, and the second current value, current control meansfor determining the drive voltages in order to eliminate a q-axiscurrent difference which is the difference between the detected q-axiscurrent and a predetermined q-axis command current and a d-axis currentdifference which is the difference between the detected d-axis currentand a predetermined d-axis command current, and magnetic pole detectingmeans for carrying out a magnetic pole detecting process to detect theorientation of the magnetic poles of the rotor based on a magnetic polereference value calculated by a predetermined calculating process,depending on the sine reference value and the cosine reference valuewhich are extracted by the reference value extracting means when theq-axis command value is set to a predetermined magn tic pole detectingcurrent.

[0011] The current control means performs a proportional plus integralprocess on the difference between the detected q-axis current and theq-axis command current to calculate the q-axis current difference andalso performs a proportional plus integral process on the differencebetween the detected d-axis current and the d-axis command current tocalculate the d-axis current difference when the magnetic pole detectingprocess is not carried out, and performs an integral process only on thedifference between the detected q-axis current and the q-axis commandcurrent to calculate the q-axis current difference and also performs anintegral process only on the difference between the detected d-axiscurrent and the d-axis command current to calculate the d-axis currentdifference when the magnetic pole detecting process is carried out.

[0012] With the above arrangement, when the magnetic pole detectingprocess is carried out, the current control means performs an integralprocess only on the difference between the detected q-axis current andthe q-axis command current to calculate the q-axis current differenceand also performs an integral process only on the difference between thedetected d-axis current and the d-axis command current to calculate thed-axis current difference. Therefore, when the q-axis command current isset to the magnetic pole detecting current, the current control meanscontrols the current flowing through the q-axis armature to pass themagnetic pole detecting current through the q-axis armature withoutcausing a delay which would otherwise result from an integral process.

[0013] In this case, the time spent after the q-axis command current isset to the magnetic pole detecting current until currents depending onthe magnetic pole detecting current are detected by the first currentdetecting means and the second current detecting means. Therefore, thetime required until the sine reference value and the cosine referencevalue depending on the magnetic pole detecting current and the magneticpole reference value calculated depending on the magnetic pole detectingcurrent are obtained.

[0014] Accordingly, the time required to detect the orientation of themagnetic poles of the rotor of the motor based on the magnetic polereference value according to the magnetic pole detecting process isshortened.

[0015] The magnetic pole detecting means sets a first magnetic poledetecting current and a second magnetic pole detecting current which isopposite in direction to the first magnetic pole detecting current asthe magnetic pole detecting current, and detects the orientation of themagnetic poles of the rotor based on the difference between a firstmagnetic pole reference value calculated by the predeterminedcalculating process depending on the sine reference value and the cosinereference value which are extracted by the reference value extractingmeans when the first magnetic pole detecting current is set, and asecond magnetic pole reference value calculated by the predeterminedcalculating process depending on the sine reference value and the cosinereference value which are extracted by the reference value extractingmeans when the second magnetic pole detecting current is set.

[0016] With the above arrangement, as described in detail later on, thesign of the difference between the first magnetic pole reference valuecalculated when the first magnetic pole detecting current is set as themagnetic pole detecting current and the second magnetic pole referencevalue calculated when the second magnetic pole detecting current is setas the magnetic pole detecting current is inverted depending on theorientation of the magnetic poles of the rotor. Therefore, the magneticpole detecting means can detect the orientation of the magnetic poles ofthe rotor based on the difference between the first magnetic polereference value and the second magnetic pole reference value.

[0017] The reference value extracting means extracts the sine referencevalue and the cosine reference value respectively according to thefollowing equations (1), (2): $\begin{matrix}{{Vs} = {\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\{ {{\cos \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\cos \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} & (1) \\{{Vc} = {- {\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\{ {{\sin \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\sin \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}}} & (2)\end{matrix}$

[0018] where Vs: the sine reference value, Vc: the cosine referencevalue, Iu: the first current value, Iw: the second current value, and ω:the angular velocity of the high-frequency voltages.

[0019] With the above arrangement, the reference value extracting meanscan calculate the sine reference value (Vs) and the cosine referencevalue (Vc) from the first current value (Iu), the second current value(Iw), and the angular velocity of the high-frequency voltages. The rotorangle calculating means can calculate the rotor angle of the motor usingthe sine reference value (Vs) and the cosine reference value (Vc). Themagnetic pole detecting means can detect the orientation of the magneticpoles of the rotor based on the magnetic pole reference value which iscalculated depending on the sine reference value (Vs) and the cosinereference value (Vc).

[0020] The above and other objects, features, and advantages of thepresent invention will become apparent from the following descriptionwhen taken in conjunction with the accompanying drawings whichillustrate a preferred embodiment of the present invention by way ofex-ample.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 is a schematic diagram of a DC brushless motor to becontrolled by a brushless motor control apparatus according to thepresent invention;

[0022]FIG. 2 is a block diagram of a motor controller as the brushlessmotor control apparatus according to the present invention forcontrolling the DC brushless motor shown in FIG. 1;

[0023]FIGS. 3 and 4 are diagrams illustrative of a process of detectingthe magnetic poles of a rotor;

[0024] FIGS. 5(a) and 5(b) are diagrams showing a procedure fordetecting an initial position of a rotor; and

[0025]FIG. 6 is a diagram of a PI (Proportional plus Integral) processorof the motor controller shown in FIG. 2.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0026] As shown in FIG. 2, a motor controller 10, which serves as anapparatus for controlling a DC brushless motor according to the presentinvention, controls currents flowing through armatures 3, 4, 5 of asalient-pole DC brushless motor 1 (hereinafter referred to as “motor 1”)shown in FIG. 1 according to a feedback control process. The motorcontroller 10 handles an equivalent circuit that is converted from themotor 1, the equivalent circuit being of a dq coordinate system having aq-axis armature disposed on an q-axis which is the same as the directionof magnetic fluxes from the field magnetic poles of a rotor 2 and ad-axis armature disposed on a d-axis which is perpendicular to theq-axis.

[0027] The motor controller 10 controls the voltages applied to thethree-phase armatures of the motor 1 so that a d-axis command currentId_c supplied from an external source as a command value for a currentflowing through the d-axis armature (hereinafter referred to as “d-axiscurrent”) and a q-axis command current Iq_c supplied from the externalsource as a command value for a current flowing through the q-axisarmature (hereinafter referred to as “q-axis current”) will be equalizedrespectively to a detected d-axis current Id_s and a detected q-axiscurrent Iq_s which are calculated from detected values of currentsactually flowing through the respective three-phase armatures of themotor 1 by a three-phase/dq conversion process.

[0028] The motor controller 10 comprises a dq/3-phase converter 20 forconverting a command value Vd_c for a voltage applied to the d-axisarmature (hereinafter referred to as “d-axis voltage”) and a commandvalue Vq_c for a voltage applied to the q-axis armature (hereinafterreferred to as “q-axis voltage”) into command values VU_c, VV_c, VW_cfor drive voltages applied respectively to the armatures in three phasesU, V, W of the motor 1, a high-frequency adding unit 21 (correspondingto a high-frequency adding means according to the present invention) foradding high-frequency voltages vu, vv, vw respectively to the outputvoltages VU_c, VV_c, VW_c from the dq/3-phase converter 20, and a powerdrive unit 22 (corresponding to a voltage applying means according tothe present invention) for applying drive voltages VU, VV, VW dependingon the voltages VU_c, VV_c, VW_c to which the high-frequency voltagesvu, vv, vw have been added, respectively to the armatures in the threephases U, V, W of the motor 1.

[0029] The motor controller 10 also comprises a U-phase current sensor23 (corresponding to a first current detecting means according to thepresent invention) for detecting a current flowing through the armaturein the U phase (corresponding to a first phase according to the presentinvention) of the motor 1, a W-phase current sensor 24 (corresponding toa second current detecting means according to the present invention) fordetecting a current flowing through the armature in the W phase(corresponding to a second phase according to the present invention) ofthe motor 1, an angle detector 25 for detecting a rotor angle θ (seeFIG. 1) of the motor 1 using a current value Iu_s detected by theU-phase current sensor 23 and a current value Iw_s detected by theW-phase current sensor 24, a three-phase/dq converter 26 (correspondingto a three-phase/dq converting means according to the present invention)for calculating the detected d-axis current Id_s and the detected q-axiscurrent Iq_s using the current value Iu_s and the current value Iw_s,and a noninterference processor 27 for canceling the effects of velocityelectromotive forces that interfere with each other between the d-axisand the q-axis.

[0030] The motor controller 10 also has a first subtractor 28, a firstPI processor 29, a first adder 30, a second subtractor 31, a second PIprocessor 32, and a second adder 33.

[0031] The first subtractor 28 subtracts the detected d-axis currentId_s from the d-axis command current Id_c. The first PI processor 29performs a PI (Proportional plus Integral) process on the differenceproduced by the first subtractor 28. The first adder 30 adds anoninterference component to a d-axis current difference output from thefirst PI processor 29, thus generating the command value Vd_c for thed-axis voltage depending on the d-axis current difference.

[0032] Similarly, the second subtractor 31 subtracts the detected q-axiscurrent Iq_s from the q-axis command current Iq_c. The second PIprocessor 32 performs a PI process on the difference produced by thesecond subtractor 31. The second adder 33 adds a noninterferencecomponent to a q-axis current difference output from the second PIprocessor 32, thus generating the command value Vq_c for the q-axisvoltage depending on the q-axis current difference.

[0033] The command value Vd_c for the d-axis voltage and the commandvalue Vq_c for the q-axis voltage are supplied to the dq/3-phaseconverter 20. In this manner, the power drive unit 22 applies thethree-phase voltages VU, VV, VW to the respective armatures of the motor1 in order to eliminate the difference between the d-axis commandcurrent Id_c and the detected d-axis current Id_s (the d-axis currentdifference) and the difference between the q-axis command current Iq_cand the detected q-axis current Iq_s (the q-axis current difference),for thereby controlling the currents flowing through the armatures ofthe motor 1.

[0034] The first subtractor 28, the second subtractor 31, the first PIprocessor 29, the second PI processor 32, the dq/three-phase converter20, and the power drive unit 22 jointly make up a current control meansaccording to the present invention.

[0035] In order for the three-phase/dq converter 26 to calculate thedetected d-axis current Id_s and the detected q-axis current Iq_s fromthe current value Iu_s detected by the U-phase current sensor 23, thecurrent value Iw_s detected by the W-phase current sensor 24, and therotor angle θ of the motor 1 according to the equations (3), (4) shownbelow, the motor controller 10 needs to detect the rotor angle θ.$\begin{matrix}{{id} = {\sqrt{2}\left\{ {{{Iu} \cdot {\sin \left( {\theta + {\frac{2}{3}\pi}} \right)}} - {{{Iw} \cdot \sin}\quad \theta}} \right\}}} & (3) \\{{iq} = {\sqrt{2}\left\{ {{{Iu} \cdot {\cos \left( {\theta + {\frac{2}{3}\pi}} \right)}} - {{{Iw} \cdot \cos}\quad \theta}} \right\}}} & (4)\end{matrix}$

[0036] The motor controller 10 detects the rotor angle θ by adding thehigh-frequency voltages vu, vv, vw (expressed by the equation (5) shownbelow) output from the high-frequency adding unit 21 respectively to thecommand values VU_c, VV_c, VW_c for drive voltages applied respectivelyto the U, V, W phases, which command values VU_c, W_c, VW_c are outputfrom the dq/3-phase converter 20 without using a position detectionsensor such as a resolver or the like. $\begin{matrix}{\begin{bmatrix}{vu} \\{vv} \\{vw}\end{bmatrix} = {\omega \begin{bmatrix}{\sin \quad \omega \quad t} \\{\sin \left( {{\omega \quad t} - {\frac{2}{3}\pi}} \right)} \\{\sin \left( {{\omega \quad t} - {\frac{4}{3}\pi}} \right)}\end{bmatrix}}} & (5)\end{matrix}$

[0037] Specifically, a third adder 34 adds the high-frequency voltage vuto the command value VU_c, a fourth adder 35 adds the high-frequencyvoltage vv to the command value VV_c, and a fifth adder 36 adds thehigh-frequency voltage vw to the command value VW_c. The angle detector25 detects the rotor angle θ using the current value Iu_s which isdetected by the U-phase current sensor 23 and the current value Iw_swhich is detected by the W-phase current sensor 23 when thehigh-frequency voltages vu, vv, vw are added. The angle detector 25performs the functions of a reference value extracting means and a rotorangle calculating means according to the present invention.

[0038] The angle detector 25 puts the current value Iu_s detected by theU-phase current sensor 23 and the current value Iw_s detected by theW-phase current sensor 23 respectively into Iu, Iw in the equations (3),(4), puts an angular velocity ω of the high-frequency voltages vu, vv,vw in the equation (5) added by the high-frequency adding unit 21 into ωin the equations (3), (4), and calculates a sine reference value Vs anda co-sine reference value Vc which are twice the rotor angle θ accordingto the following equations (6), (7): $\begin{matrix}\begin{matrix}{{Vs} = {\int_{0}^{\frac{\pi}{\omega}}{\left\{ {{\cos \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\cos \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} \\{= {{{- K}\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{2\quad \pi}{\omega}}{\cos \quad 2\quad \omega \quad t\quad {\sin \left( {{2\quad \omega \quad t} - {2\quad \theta}} \right)}{t}}}} +}} \\{{\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\lbrack {{\cos \quad 2\quad \omega \quad {t \cdot {\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}{c}} - {\cos \quad 2\quad \omega \quad {t \cdot \cos}\quad \omega \quad {t \cdot {Iw}}{c}}} \right\rbrack {t}}}} \\{= {{{- K}\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\lbrack {{\frac{\sin \quad 4\quad \omega \quad t}{2}\cos \quad 2\quad \theta} - {\frac{1 + {\cos \quad 4\quad \omega \quad t}}{2}\sin \quad 2\quad \theta}} \right\rbrack {t}}}} +}} \\{{\int_{0}^{\frac{2\quad \pi}{\omega}}\left\lbrack {{\frac{{\cos \left( {{3\quad \omega \quad t} + {\frac{2}{3}\pi}} \right)} + {\cos \left( {{\omega \quad t} - {\frac{2}{3}\pi}} \right)}}{2}{Iu}{c}} -} \right.}} \\{\left. {\frac{{\cos \quad 3\quad \omega \quad t} + {\cos \quad \omega \quad t}}{2}{Iw}{c}} \right\rbrack {t}} \\{= {\frac{2\quad \pi}{\omega}K\frac{3\sqrt{3}\Delta \quad l}{4}\sin \quad 2\quad \theta}}\end{matrix} & (6) \\\begin{matrix}{{Vc} = {\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\{ {{\cos \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\sin \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} \\{= {{K\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\sin \quad 2\quad \omega \quad t\quad {\sin \left( {{2\quad \omega \quad t} - {2\quad \theta}} \right)}{t}}}} +}} \\{{\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\lbrack {{\sin \quad 2\quad \omega \quad {t \cdot {\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}{c}} - {\sin \quad 2\quad \omega \quad {t \cdot \cos}\quad \omega \quad {t \cdot {Iw}}{c}}} \right\rbrack {t}}}} \\{= {{K\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\lbrack {{\frac{1 - {\cos \quad 4\quad \omega \quad t}}{2}\cos \quad 2\quad \theta} - {\frac{\sin \quad 4\quad \omega \quad t}{2}\sin \quad 2\quad \theta}} \right\rbrack {t}}}} +}} \\{{\int_{0}^{\frac{2\quad \pi}{\omega}}\left\lbrack {{\frac{{\sin \left( {{3\quad \omega \quad t} + {\frac{2}{3}\pi}} \right)} + {\sin \left( {{\omega \quad t} - {\frac{2}{3}\pi}} \right)}}{2}{Iu}{c}} -} \right.}} \\{\left. {\frac{{\sin \quad 3\quad \omega \quad t} + {\sin \quad \omega \quad t}}{2}{Iw}{c}} \right\rbrack {t}} \\{= {\frac{2\quad \pi}{\omega}K\frac{3\sqrt{3}\Delta \quad l}{4}\cos \quad 2\quad \theta}}\end{matrix} & (7)\end{matrix}$

[0039] where Iudc: a DC component of the current flowing through theU-phase armature, and Iwdc: a DC component of the current flowingthrough the W-phase armature.

[0040] Sine and cosine components with respect to ωt in the equations(6), (7) correspond to the high-frequency components depending on theadded high-frequency voltages according to the present invention. Acalculation gain K in the equations (6), (7) is expressed by thefollowing equation (8): $\begin{matrix}{K = \frac{1}{{2{\left( {l - m} \right) \cdot l}} - {\Delta \quad {l^{2}\left( {\frac{3}{2} + {3\quad \cos \quad \frac{2}{3}\pi}} \right)}}}} & (8)\end{matrix}$

[0041] where 1: a DC component of the self-inductance of each of thephases of the motor 1, Δ1: a change in the DC component 1, and m: a DCcomponent of the mutual inductance between the phases of the motor 1.

[0042] In the equations (6), (7), an integration period is set to 0−2π/ωto equalize integrated values with respect to the DC components Iudc,Iwdc of the currents Iu, Iw to 0. However, if the currents Iu, Iw do notinclude DC components and are expressed by the equations (9), (10) shownbelow, then the sine reference value Vs and the cosine reference valueVc can be calculated even with an integration period being set to 0−π/ω,according to the following equations (11), (12): $\begin{matrix}{{lu} = {K\left\lbrack {{{- \left( {l - m} \right)}\cos \quad \omega \quad t} - {\frac{3\quad \Delta \quad l}{2}{\cos \left( {{2\quad \theta} - {\omega \quad t}} \right)}}} \right\rbrack}} & (9) \\{{lw} = {K\left\lbrack {{{- \left( {l - m} \right)}{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)}} - {\frac{3\Delta \quad l}{2}{\cos \left( {{2\quad \theta} - {\omega \quad t} + {\frac{2}{3}\pi}} \right)}}} \right\rbrack}} & (10) \\\begin{matrix}{{Vs} = {\int_{0}^{\frac{\pi}{\omega}}{\left\{ {{\cos \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\cos \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} \\{= {{- K}\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\cos \quad 2\quad \omega \quad t\quad {\sin \left( {{2\quad \omega \quad t} - {2\quad \theta}} \right)}{t}}}}} \\{= {{- K}\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\cos \quad 2\quad \omega \quad t\quad \left( {{\sin \quad 2\quad \omega \quad t\quad \cos \quad 2\quad \theta} - {\cos \quad 2\quad \omega \quad t\quad \sin \quad 2\quad \theta}} \right){t}}}}} \\{= {{- K}\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\left\lbrack {{\frac{\sin \quad 4\quad \omega \quad t}{2}\cos \quad 2\quad \theta} - {\frac{1 + {\cos \quad 4\quad \omega \quad t}}{2}\sin \quad 2\quad \theta}} \right\rbrack {t}}}}} \\{= {K\frac{3\sqrt{3}\Delta \quad l}{4}\sin \quad 2\quad \theta}}\end{matrix} & (11) \\\begin{matrix}{{Vc} = {\int_{0}^{\frac{\pi}{\omega}}{\left\{ {{\sin \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\sin \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} \\{= {K\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\sin \quad 2\quad \omega \quad t\quad {\sin \left( {{2\quad \omega \quad t} - {2\quad \theta}} \right)}{t}}}}} \\{= {K\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\sin \quad 2\quad \omega \quad t\quad \left( {{\sin \quad 2\quad \omega \quad t\quad \cos \quad 2\quad \theta} - {\cos \quad 2\quad \omega \quad t\quad \sin \quad 2\quad \theta}} \right){t}}}}} \\{= {K\frac{3\sqrt{3}\Delta \quad l}{2}{\int_{0}^{\frac{\pi}{\omega}}{\left\lbrack {{\frac{1 - {\cos \quad 4\quad \omega \quad t}}{2}\cos \quad 2\quad \theta} - {\frac{\sin \quad 4\quad \omega \quad t}{2}\sin \quad 2\quad \theta}} \right\rbrack {t}}}}} \\{= {K\frac{3\sqrt{3}\Delta \quad l}{4}\cos \quad 2\quad \theta}}\end{matrix} & (12)\end{matrix}$

[0043] The rotor angle θ of the motor 1 can be calculated according tothe following equation (13) based on the equations (6), (7) or theequations (11), (12): $\begin{matrix}{\theta = {\frac{1}{2}\tan^{- 1}\frac{Vs}{Vc}}} & (13)\end{matrix}$

[0044] The tan⁻¹ function changes largely as the sine reference value Vsand the cosine reference value Vc change. Therefore, when the rotorangle θ of the motor 1 is calculated according to the equation (13), anerror in detecting the rotor angle θ may possibly become large due to anerror caused in calculating the sine reference value Vs and the cosinereference value Vc.

[0045] To avoid the above error, the angle detector 25 calculates arotor angle of the motor 1 according to the above equation (15) at afirst sampling time, and then at next and subsequent sampling times,calculates, based on the equation (14) shown below, Δθ expressed by theequation (15) shown below as phase difference data depending on thephase difference (θ−θ{circumflex over ( )}) between an estimated valueθ{circumflex over ( )} of the rotor angle and an actual value θ of therotor angle, and calculates a rotor angle according to a follow-upcalculation process effected by an observer represented by the equation(16) shown below which is constructed to eliminate the phase difference(θ−θ{circumflex over ( )}).

[0046] In this case, changes in the gain due to changes in the magnitude({square root}(Vs²+Vc²) of the high-frequency components can besuppressed for increased stability in calculating the rotor angle.$\begin{matrix}\begin{matrix}{{{{{Vs} \cdot \cos}\quad 2\hat{\theta}} - {{{Vc} \cdot \sin}\quad 2\quad \hat{\theta}}}\quad = {\sqrt{{Vs}^{2} + {Vc}^{2}}{\sin \left( {{2\quad \theta} - {2\hat{\theta}}} \right)}}} \\{\approx {{\sqrt{{Vs}^{2} + {Vc}^{2}} \cdot 2}\left( {\theta - \hat{\theta}} \right)}} \\{\left( {{{if}\quad \left( {\theta - \hat{\theta}} \right)} \approx 0} \right)}\end{matrix} & (14) \\\begin{matrix}{{\Delta \quad \theta} = {{2\left( {\theta - \hat{\theta}} \right)} \approx {\sin \left( {{2\quad \theta} - {2\quad \hat{\theta}}} \right)}}} \\{= \frac{{{{Vs} \cdot \cos}\quad 2\quad \hat{\theta}} - {{{Vc} \cdot \sin}\quad 2\hat{\theta}}}{\sqrt{{Vs}^{2} + {Vc}^{2}}}}\end{matrix} & (15) \\{\begin{bmatrix}{\hat{\theta}\left( {n + 1} \right)} \\{\hat{\omega}\left( {n + 1} \right)}\end{bmatrix} = {{\begin{bmatrix}1 & {\Delta \quad t} \\0 & 1\end{bmatrix}\begin{bmatrix}{\hat{\theta}(n)} \\{\hat{\omega}(n)}\end{bmatrix}} + {\begin{bmatrix}{K1} \\{K2}\end{bmatrix}\frac{2\left( {{\theta (n)} - {\hat{\theta}(n)}} \right)}{\sqrt{{Vs}^{2} + {Vc}^{2}}}}}} & (16)\end{matrix}$

[0047] where θ(n), θ{circumflex over ( )}(n), ω{circumflex over ( )}(n)represent actual and estimated values of the rotor angle θ and anestimated value of the angular velocity ω of the rotor 2, respectively,at a certain sampling time n, θ{circumflex over ( )}(n+1), ω{circumflexover ( )}(n+1) represent an estimated value of the rotor angle θ and anestimated value of the angular velocity ω of the rotor 2, respectively,at a next sampling time n+1, Δt represents a sampling period, and K1, K2represent calculation gains.

[0048] If the angle detector 25 has its calculation ability so poor thatit poses a problem on the time required to calculate the square root inthe equation (15), then the equation (15) may be approximated by thefollowing equation (17): $\begin{matrix}\begin{matrix}{{\Delta \quad \theta} = {{2\left( {\theta - \hat{\theta}} \right)} \approx {\sin \left( {{2\quad \theta} - {2\hat{\theta}}} \right)}}} \\{= \left\{ \begin{matrix}\frac{{{{Vs} \cdot \cos}\quad 2\quad \hat{\theta}} - {{{Vc} \cdot \sin}\quad 2\hat{\theta}}}{{Vs}} & \left( {{{Vs}} > {{Vc}}} \right) \\\frac{{{{Vs} \cdot \cos}\quad 2\quad \hat{\theta}} - {{{Vc} \cdot \sin}\quad 2\hat{\theta}}}{{Vc}} & \left( {{{Vc}} > {{Vs}}} \right)\end{matrix} \right.}\end{matrix} & (17)\end{matrix}$

[0049] In the present embodiment, the angle detector 25 integrates thehigh-frequency components that change with time according to theequations (6), (7), thereby calculating the sine reference value Vs andthe cosine reference value Vc which are twice the rotor angle θ.Alternatively, the angle detector 25 may output the sine reference valueVs and the cosine reference value Vc through a low-pass filter.

[0050] The motor 1 comprises a salient-pole DC brushless motor and theinductance in the gap of the rotor 2 changes at a period which is ½ ofthe rotor angle, the rotor angle can be calculated in an electricalangle range from 0 to 180° or from 180° to 360°. In order to detect arotor angle in a range from 0° to 360°, it is necessary to detect theorientation of the magnetic poles of the rotor 2.

[0051] A current (Iq) is passed through the q-axis armature to generatea magnetic field in the direction of the q-axis, i.e., in the directionof the magnetic flux of the magnet of the rotor 2. As shown in FIG. 3,in a saturated state in which the direction of the magnetic field (Bs)generated by the current (Iq) and the direction of a magnetic field (Bm)generated by the rotor magnet are the same as each other, Δ1 (a changein the DC component 1 of the self-inductance of each of the phases U, V,W) is large, resulting in a large flux density of the total magneticfield (Bt).

[0052] In an unsaturated state in which the direction of the magneticfield (Bs) generated by the current (Iq) and the direction of themagnetic field (Bm) generated by the rotor magnet are different fromeach other, the change Δ1 is small, resulting in a small flux density ofthe total magnetic field (Bt).

[0053] Therefore, a magnetic pole reference value A calculated from thesine reference value Vs and the cosine reference value Vc (calculatedaccording to the equations (6), (7)), which vary depending on the valueof Δ1, according to the following equation (18) (corresponding to apredetermined calculating process according to the present invention)when the rotor 2 is in the saturated state differs from a magnetic polereference value A calculated in the same manner when the rotor 2 is inthe unsaturated state.

A={square root}{square root over (Vs²+Vc²)}  (18)

[0054] The angle detector 25 calculates a sine reference value Vs and acosine reference value Vc according to the above equations (6), (7) fromthe detected current values which are produced by the W-phase currentsensor 24 and the U-phase current sensor 23 while the high-frequencyvoltages vu, vv, vw are being added by the high-frequency adder 21 and afirst magnetic pole detecting current is being passed through the q-axisarmature. The angle detector 25 uses a magnetic pole reference value Acalculated from the sine reference value Vs and the cosine referencevalue Vc according to the equation (18), as a first magnetic polereference value A₁.

[0055] Similarly, the angle detector 25 calculates a sine referencevalue Vs and a cosine reference value Vc according to the aboveequations (6), (7) from the detected current values which are producedby the W-phase current sensor 24 and the U-phase current sensor 23 whilethe high-frequency voltages vu, vv, vw are being added by thehigh-frequency adder 21 and a second magnetic pole detecting current,which is opposite in direction to the first magnetic pole detectingcurrent, is being passed through the q-axis armature. The angle detector25 uses a magnetic pole reference value A calculated from the sinereference value Vs and the cosine reference value Vc according to theequation (18), as a second magnetic pole reference value A₂.

[0056] The difference ΔA (ΔA=A₁−A₂) between the first magnetic polereference value A₁ and the second magnetic pole reference value A₂changes as shown in FIG. 4. FIG. 4 represents a graph of values of thedifference ΔA calculated at different rotor angles of the motor 1 anddetected values R of the rotor angle which are plotted over the valuesof the difference ΔA. In FIG. 4, the difference ΔA has its sign invertedwhen the rotor angle is 360° and 180°. Therefore, the angle detector 25can detect the orientation of the magnetic poles of the rotor 2 based onthe sign of the difference ΔA.

[0057] FIGS. 5(a) and 5(b) show a procedure expressed as a time sequencefor detecting the rotor angle of the rotor 1 and the orientation of themagnetic poles of the rotor 2. Specific details of the procedure fordetecting the rotor angle of the rotor 1 and the orientation of themagnetic poles of the rotor 2 with the angle detector 25 will bedescribed below with reference to FIGS. 5(a) and 5(b).

[0058] When the motor 1 is instructed to start operating at time to inFIG. 5(a), the high-frequency adder 21 starts adding the high-frequencyvoltages vu, vv, vw. At a first sampling time, the angle detector 25detects a rotor angle of the motor 1 according to the above equation(13) (t₀−t₁). At next and subsequent sampling times, the angle detector25 detects a rotor angle according to the follow-up calculation processeffected by the observer represented by the equation (16).

[0059] Then, the angle detector 25 carries out a process of detectingthe magnetic poles of the rotor 2 of the motor 1 ((t₂−t₅). In theprocess of detecting the magnetic poles, the angle detector 25 sets theq-axis command current Iq_c to a first magnetic pole detecting currentIq_p1 (Iq_c=Iq_p1), and calculates a first magnetic pole reference valueA₁ according to the equation (18) (t₂−t₃). Then, the angle detector 25sets the q-axis command current Iq_c to a second magnetic pole detectingcurrent Iq_p2 (Iq_c=Iq_p2), and calculates a second magnetic polereference value A₂ according to the equation (18) (t₄−t₅).

[0060] The angle detector 25 detects the orientation of the magneticpoles of the rotor 2 from the sign of the difference ΔA (ΔA=A₁−A₂)between the first magnetic pole reference value A₁ and the secondmagnetic pole reference value A₂. The detection of an initial positionof the rotor 2 is now completed. The orientation of the magnetic polesof the rotor 2 may be detected once at the time of starting operation ofthe motor 1. Subsequently, the rotor angle can be detected in the rangefrom 0 to 360 degrees from the transition of the rotor angle.

[0061] If the time required to detect the magnetic poles of the rotor 2is long, then the time spent before the torque control for the motor 1is long. As shown in FIG. 5(b), in the process of detecting the magneticpoles, the angle detector 25 inhibit the integrating process in thefirst PI processor 29 and the second PI processor 32, but allow them tothe proportional process only.

[0062] Specifically, as shown in FIG. 6, the first PI processor 29comprises a multiplier 40 having a proportionality coefficient Kp, anintegrator 41, a multiplier 42 having an integration coefficient Ki, andan adder 43. The angle detector 25 applies a parameter In_off whichindicates an inhibition of the integrating process to the first PIprocessor 29 to make the integration coefficient Ki nil, allowing thefirst PI processor 29 to carry out the proportional process only.

[0063] The second PI processor 32 is identical in structure ot the firstPI processor 29. The angle detector 25 also applies the parameter In_offto the second PI processor 32 to make the integration coefficient Kinil, allowing the second PI processor 32 to carry out the proportionalprocess only.

[0064] Rather than making the integration coefficient Ki nil, theintegrators 41 of the first PI processor 29 and the second PI processor32 may be inhibited from accumulating data to make the accumulated valuenil, so that the first PI processor 29 and the second PI processor 32may be inhibited from carrying out the integrating process, but may beallowed to carry out the proportional process only.

[0065] The integrating process carried out by the first PI processor 29and the second PI processor 32 serves to suppress variations in thecurrents flowing through the armatures of the motor 1 for ther byincreasing the stability of current control during rotation of the motor1. If the integrating process is carried out by the first PI processor29 and the second PI processor 32 while the process of detecting themagnetic poles is being performed, then the integrating process acts tosuppress an increase in the q-axis current difference when the q-axiscommand current Iq_c is set to the first magnetic pole detecting currentIq_p1 and the second magnetic pole detecting current Iq_p2.

[0066] Therefore, a delay time after the q-axis command current Iq_c isset to the first magnetic pole detecting current Iq_p1 and the secondmagnetic pole detecting current Iq_p2 until the first magnetic poledetecting current Iq_p1 and the second magnetic pole detecting currentIq_p2 actually flow through the armatures of the motor 1 is increased,resulting in an increased time required to detect the magnetic poles ofthe rotor 2.

[0067] To avoid the above drawback, when the process of detecting themagnetic poles is carried out, the first PI processor 29 and the secondPI processor 32 are inhibited from carrying out the integrating process,thus reducing the delay time after the q-axis command current Iq_c isset to the first magnetic pole detecting current Iq_p1 and the secondmagnetic pole detecting current Iq_p2 until the first magnetic poledetecting current Iq_p1 and the second magnetic pole detecting currentIq_p2 actually flow through the armatures of the motor 1.

[0068] Consequently, the time (t₂−t₅) required to carry out the processof detecting the magnetic poles to detect the orientation of themagnetic poles of the rotor 2 based on the sign of the difference ΔAbetween the first magnetic pole reference value A₁ depending on thefirst magnetic pole detecting current Iq_p1 and the second magnetic polereference value A₂ depending on the second magnetic pole detectingcurrent Iq_p2 is shortened. Therefore, the time (t₀−t₅) required afterthe motor 1 is instructed to start operating until the motor 1 startsoutputting its torque is reduced.

[0069] According to another process of detecting the orientation of themagnetic poles of the rotor 2, a magnetic pole detecting current in onedirection is passed through the q-axis armature, and the magnetic polereference value A calculated at this time according to the equation (18)is compared with a predetermined threshold to detect the orientation ofthe magnetic poles of the rotor 2. In this process, the first PIprocessor 29 and the second PI processor 32 may be inhibited fromcarrying out the integrating process, but allowed to carry out theproportional process only, thus reducing the time required to detect theorientation of the magnetic poles of the rotor 2 and hence to reduce thetime required until the motor 1 starts outputting its torque.

[0070] Although a certain preferred embodiment of the present inventionhas been shown and described in detail, it should be understood thatvarious changes and modifications may be made therein without departingfrom the scope of the appended claims.

What is claimed is:
 1. An apparatus for controlling a salient-pole DCbrushless motor having armatures in three phases, comprising: voltageapplying means for applying drive voltages to said armatures;high-frequency adding means for adding high-frequency voltages to saiddrive voltages; first current detecting means for detecting a currentflowing through an armature in a first phase of said armatures in thethree phases; second current detecting means for detecting a currentflowing through an armature in a second phase of said armatures in thethree phases; reference value extracting means for extracting a sinereference value depending on the sine value of a twofold angle which istwice a rotor angle of said motor and a cosine reference value dependingon the cosine value of the twofold angle, using a first current valuedetected by said first current detecting means and a second currentvalue detected by said second current detecting means when saidhigh-frequency voltages are added to said drive voltages by saidhigh-frequency adding means, and high-frequency components depending onsaid high-frequency voltages; rotor angle calculating means forcalculating a rotor angle of said motor using said sine reference valueand said cosine reference value; three-phase/dq converting means forhandling said motor as an equivalent circuit having a q-axis armaturedisposed on an q-axis in the direction of magnetic fluxes from a rotorof the motor and a d-axis armature disposed on a d-axis which isperpendicular to the q-axis, and calculating a detected q-axis currentflowing through said q-axis armature and a detected d-axis currentflowing through said d-axis armature based on the rotor angle of saidmotor which is calculated by said rotor angle calculating means, saidfirst current value, and said second current value; current controlmeans for determining said drive voltages in order to eliminate a q-axiscurrent difference which is the difference between the detected q-axiscurrent and a predetermined q-axis command current and a d-axis currentdifference which is the difference between the detected d-axis currentand a predetermined d-axis command current; and magnetic pole detectingmeans for carrying out a magnetic pole detecting process to detect theorientation of the magnetic poles of said rotor based on a magnetic polereference value calculated by a predetermined calculating process,depending on said sine reference value and said cosine reference valuewhich are extracted by said reference value extracting means when saidq-axis command value is set to a predetermined magnetic pole detectingcurrent; said current control means comprising means for performing aproportional plus integral process on the difference between saiddetected q-axis current and said q-axis command current to calculatesaid q-axis current difference and also performing a proportional plusintegral process on the difference between said detected d-axis currentand said d-axis command current to calculate said d-axis currentdifference when said magnetic pole detecting process is not carried out,and performing an integral process only on the difference between saiddetected q-axis current and said q-axis command current to calculatesaid q-axis current difference and also performing an integral processonly on the difference between said detected d-axis current and saidd-axis command current to calculate said d-axis current difference whensaid magnetic pole detecting process is carried out.
 2. An apparatusaccording to claim 1, wherein said magnetic pole detecting meanscomprises means for setting a first magnetic pole detecting current anda second magnetic pole detecting current which is opposite in directionto said first magnetic pole detecting current as said magnetic poledetecting current, and detecting the orientation of the magnetic polesof said rotor based on the difference between a first magnetic polereference value calculated by said predetermined calculating processdepending on said sine reference value and said cosine reference valuewhich are extracted by said reference value extracting means when saidfirst magnetic pole detecting current is set, and a second magnetic polereference value calculated by said predetermined calculating processdepending on said sine reference value and said cosine reference valuewhich are extracted by said reference value extracting means when saidsecond magnetic pole detecting current is set.
 3. An apparatus accordingto claim 1, wherein said reference value extracting means comprisesmeans for extracting said sine reference value and said cosine referencevalue respectively according to the following equations (19), (20):$\begin{matrix}{{Vs} = {\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\{ {{\cos \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\cos \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}} & (19) \\{{Vc} = {- {\int_{0}^{\frac{2\quad \pi}{\omega}}{\left\{ {{\sin \quad 2\quad \omega \quad t\quad {{\cos \left( {{\omega \quad t} + {\frac{2}{3}\pi}} \right)} \cdot {Iu}}} - {\sin \quad 2\quad \omega \quad t\quad \cos \quad \omega \quad {t \cdot {Iw}}}} \right\} {t}}}}} & (20)\end{matrix}$

where Vs: the sine reference value, Vc: the cosine reference value, Iu:the first current value, Iw: the second current value, and ω: theangular velocity of said high-frequency voltages.